#include <stdio.h>

union bus_u
{
    char a[10];
    int i;
};

/**
 * 此处按照逻辑是会出现内存不对齐的情况，
 * 但是正常编译通过且运行
 **/
int main(void)
{
    union bus_u u;
    int *p = (int *)&(u.a[1]);
    *p = 17;
    printf("%d\n", *p);
    return 0;
}
